/**
*┌──────────────────────────────────────────────────────────────┐
*│　描    述：User_groups                                                    
*│　作    者：NetCoreCMS                                            
*│　版    本：1.0    模板代码自动生成                                                
*│　创建时间：2019-12-25 10:52:46                             
*└──────────────────────────────────────────────────────────────┘
*┌──────────────────────────────────────────────────────────────┐
*│　命名空间： NetCoreCMS.Services                                  
*│　类    名： User_groupsService                                    
*└──────────────────────────────────────────────────────────────┘
*/
using NetCoreCMS.IRepository;
using NetCoreCMS.IServices;
using NetCoreCMS.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NetCoreCMS.Services
{
    public class User_groupsService: IUser_groupsService
    {
        private readonly IUser_groupsRepository _repository;

        public User_groupsService(IUser_groupsRepository repository)
        {
            _repository = repository;
        }

        public int Add(User_groups model)
        {
            return (int)_repository.Insert(model);
        }

        public bool Delete(int id)
        {
            return _repository.DeleteAll(id);
        }

        public bool Exists(int id)
        {
            return GetModel(id) != null ? true : false;
        }

        public User_groups GetDefault()
        {
            return _repository.GetList("where is_lock=0").OrderByDescending(a=>a.is_default).OrderBy(a=>a.id).FirstOrDefault();
        }

        public int GetDiscount(int id)
        {
            return GetModel(id).discount;
        }

        public List<User_groups> GetList(string conditions)
        {
            return _repository.GetList(conditions).ToList();
        }

        public User_groups GetModel(int id)
        {
            return _repository.Get(id);
        }

        public bool Update(User_groups model)
        {
            return _repository.Update(model) > 0;
        }
    }
}